/**
 * Copyright (c) 2021 OceanBase
 * OceanBase CE is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */

#ifndef OCEANBASE_COMMON_OB_DEBUG_SYNC_POINT_H_
#define OCEANBASE_COMMON_OB_DEBUG_SYNC_POINT_H_

#include "lib/utility/ob_macro_utils.h"

namespace oceanbase
{
namespace common
{
class ObString;

#define OB_DEBUG_SYNC_POINT_DEF(ACT)                               \
    ACT(INVALID_DEBUG_SYNC_POINT, = 0)                             \
    ACT(NOW,)                                                      \
    ACT(MAJOR_FREEZE_BEFORE_SYS_COORDINATE_COMMIT,)                \
    ACT(BEFORE_REBALANCE_TASK_EXECUTE,)                            \
    ACT(REBALANCE_TASK_MGR_BEFORE_EXECUTE_OVER,)                   \
    ACT(UNIT_BALANCE_BEFORE_PARTITION_BALANCE,)                    \
    ACT(BEFORE_UNIT_MANAGER_LOAD,)                                 \
    ACT(BEFORE_INNER_SQL_COMMIT,)                                  \
    ACT(BEFORE_ASYNC_PT_UPDATE_TASK_EXECUTE,)                      \
    ACT(AFTER_ASYNC_PT_UPDATE_TASK_EXECUTE,)                       \
    ACT(DAILY_MERGE_BEFORE_RESTORE_LEADER_POS,)                    \
    ACT(SWITCH_LEADER_BEFORE_SYS_COORDINATE_COMMIT,)               \
    ACT(START_UNIT_BALANCE,)                                       \
    ACT(BEFORE_TRY_DELETE_SERVERS,)                                \
    ACT(BEFORE_TRY_FREEZE_PARTITION_TABLE,)                        \
    ACT(BEFORE_WRITE_CHECK_POINT,)                                 \
    ACT(BEFORE_COMMIT_CHECK_POINT,)                                \
    ACT(BEFORE_PARTITION_MERGE_COMMIT,)                            \
    ACT(BEFORE_PARTITION_MIGRATE_COMMIT,)                          \
    ACT(BEFORE_SEND_UPDATE_INDEX_STATUS,)                          \
    ACT(AFTER_INSERT_FLAG_REPLICA,)                                \
    ACT(OBSERVICE_GET_LEADER_CANDIDATES,)                          \
    ACT(CHECK_NEW_TENANT,)                                         \
    ACT(BEFORE_CHECK_MAJOR_FREEZE_DONE,)                           \
    ACT(SET_FORCE_STOP_HB_DONE,)                                   \
    ACT(UPDATE_WITH_PARTITION_FLAG_DONE,)                          \
    ACT(MAJOR_FREEZE_AFTER_SYS_COMMIT,)                            \
    ACT(MAJOR_FREEZE_AFTER_ROOTSERVER_COMMIT,)                     \
    ACT(SWITCH_LEADER_AFTER_SYS_COMMIT,)                           \
    ACT(SWITCH_LEADER_AFTER_ROOTSERVER_COMMIT,)                    \
    ACT(AFTER_WRITE_MAJOR_FREEZE_COMMIT_LOG,)                      \
    ACT(BEFORE_AUTO_COORDINATE,)                                   \
    ACT(DELAY_PARTITION_SERVICE_FREEZE_LOG_TASK,)                  \
    ACT(MINOR_MERGE_TIMER_TASK,)                                   \
    ACT(MERGE_TASK_PROCESS,)                                 \
    ACT(MINOR_MERGE_SCHEDULE,)                                     \
    ACT(DELAY_INDEX_WRITE,)                                        \
    ACT(BEFORE_MINOR_FREEZE_GET_BASE_STORAGE_INFO,)                \
    ACT(BEFORE_IS_IN_SYNC_SET,)                                    \
    ACT(BEFORE_MIGRATE_PROCESS,)                                    \
    ACT(BEFORE_MIGRATE_COPY_BASE_DATA,)                            \
    ACT(BEFORE_MIGRATE_COPY_LOGIC_DATA,)                            \
    ACT(BEFORE_MIGRATE_WAIT_REPLAY,)                               \
    ACT(BEFORE_MIGRATE_ENABLE_REPLAY,)                               \
    ACT(BEFORE_MIGRATE_FINISH,)                               \
    ACT(BEFORE_BUILD_LOCAL_INDEX,)               \
    ACT(BEFORE_BALANCE_SEND_RPC,) \
    ACT(END_PRODUCE_PG_REPLICATE_TASK,) \
    ACT(BEFORE_SWEEP_MACRO_BLOCK,) \
    ACT(BEFORE_REPORT_BUILD_INDEX,) \
    ACT(DELAY_SCHEDULE_MERGE,) \
    ACT(DELAY_WRITE_CHECKPOINT,) \
    ACT(BEFORE_DO_GLOBAL_MAJOR_FREEZE,) \
    ACT(MAJOR_MERGE_PREPARE,)    \
    ACT(STOP_BALANCE_EXECUTOR,) \
    ACT(BEFORE_STOP_RS,) \
    ACT(BEFORE_ANSWER_RS_STATUS, )\
    ACT(DELAY_CHANGE_REPLICA_CALLBACK, )\
    ACT(AFTER_POST_REMOVE_REPLICA_MC_MSG, )\
    ACT(AFTER_POST_ADD_REPLICA_MC_MSG, )\
    ACT(DELAY_REMOVE_REPLICA, )\
    ACT(BEFORE_CHECK_ALL_PARTITION_MERGED, )\
    ACT(BEFORE_UPDATE_INDEX_STATUS, )\
    ACT(AFTER_MIGRATION_MARK, )\
    ACT(BEFORE_CHECK_FREEZING,)\
    ACT(AFTER_RELEASE_STORES,)\
    ACT(AFTER_SET_FREEZING,)\
    ACT(BEFORE_REPORT_SELF,)\
    ACT(BEFORE_START_RS,) \
    ACT(BEFORE_MAIN_SSTBALE_FINISH_TASK,)\
    ACT(BEFORE_INDEX_SSTBALE_FINISH_TASK,)\
    ACT(HANG_MERGE,)\
    ACT(BEFORE_BACKGROUND_WASH,) \
    ACT(HANG_HEART_BEAT_ON_RS,)\
    ACT(AFTER_BUILD_INDEX_FINISH,)\
    ACT(BEFORE_PARTITION_REPORT_CALLBACK,)\
    ACT(BEFORE_REBALANCE_SEND_TASK_RPC,)\
    ACT(BEFORE_BATCH_REMOVE_MEMBER,)\
    ACT(BEFORE_BATCH_ADD_MEMBER,)\
    ACT(UNIT_MANAGER_WAIT_FOR_TIMEOUT,)\
    ACT(BEFORE_RECYCLE_INTERM_RESULT,)\
    ACT(BEFORE_UPDATE_INDEX_BUILD_VERSION,)\
    ACT(AFTER_GLOBAL_INDEX_GET_SNAPSHOT,)\
    ACT(BEFORE_CHECK_GLOBAL_UNIQUE_INDEX,)\
    ACT(BEFORE_COPY_GLOBAL_INDEX,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_TRANS_END,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_TRANS_END_MID,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_SNAPSHOT_READY,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_SNAPSHOT_READY_MID,)\
    ACT(BEFORE_LOCAL_INDEX_CHOOSE_BUILD_INDEX_REPLICA,)\
    ACT(BEFORE_LOCAL_INDEX_CHOOSE_BUILD_INDEX_REPLICA_MID,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_CHOOSE_OR_BUILD_INDEX_END,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_CHOOSE_OR_BUILD_INDEX_END_MID,)\
    ACT(BEFORE_LOCAL_INDEX_COPY_BUILD_INDEX_DATA,)\
    ACT(BEFORE_LOCAL_INDEX_COPY_BUILD_INDEX_DATA_MID,)\
    ACT(BEFORE_LOCAL_INDEX_UNIQUE_INDEX_CHECKING,)\
    ACT(BEFORE_LOCAL_INDEX_UNIQUE_INDEX_CHECKING_MID,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_REPORT_STATUS,)\
    ACT(BEFORE_LOCAL_INDEX_WAIT_REPORT_STATUS_MID,)\
    ACT(BEFORE_LOCAL_INDEX_END,)\
    ACT(BEFORE_LOCAL_INDEX_END_MID,)\
    ACT(DEFORE_OBS_CREATE_PARTITION,)\
    ACT(DEFORE_FETCH_LOGIC_ROW_SRC,)\
    ACT(BEFORE_BUILD_MIGRATE_PARTITION_INFO,)\
    ACT(BEFORE_BUILD_MIGRATE_PARTITION_INFO_USER_TABLE,)\
    ACT(BEFORE_GET_MAJOR_MGERGE_TABLES,)\
    ACT(BEFORE_GET_MINOR_MGERGE_TABLES,)\
    ACT(BEFORE_GET_MAJOR_MERGE_TABLE_IDS,)\
    ACT(BEFORE_GET_MINOR_MERGE_TABLE_IDS,)\
    ACT(DAILY_MERGE_SCHEDULER_IDLE,)\
    ACT(BEFORE_CHECK_LOCALITY,)\
    ACT(BLOCK_GARBAGE_COLLECTOR,)\
    ACT(BEFORE_CREATE_INDEX_TASK,)\
    ACT(BEFORE_CLEAR_MIGRATE_STATUS,)\
    ACT(BEFORE_MERGE_CHECK_TASK,)\
    ACT(BEFORE_FINISH_MIGRATE_TASK,)\
    ACT(BEFORE_BUILD_LOCAL_INDEX_SCAN,)\
    ACT(BEFORE_CREATE_TABLE_TRANS_COMMIT,) \
    ACT(AFTER_TENANT_BALANCE_GATHER_STAT,)\
    ACT(BEFORE_RESTORE_PARTITIONS,)\
    ACT(BEFORE_BATCH_PROCESS_TASK,)\
    ACT(BEFORE_INSERT_ROWS,)\
    ACT(AFTER_INSERT_ROWS,)\
    ACT(AFTER_INSERT_ROW,)\
    ACT(AFTER_TABLE_SCAN,)\
    ACT(BEFORE_BUILD_LOCAL_INDEX_REFRESH_TABLES,)\
    ACT(BEFORE_BUILD_LOCAL_INDEX_REFRESH_TABLES_MID,)\
    ACT(BEFORE_SLOG_UPDATE_FLUSH_CURSOR,)\
    ACT(BEFORE_SCHEDULE_ALL_PARTITIONS,)\
    ACT(BEFORE_OBSERVER_SCHEDULE_MIGRATE,)\
    ACT(BEFORE_CREATE_TENANT_TRANS_TWO,)\
    ACT(MERGE_PARTITION_TASK,)\
    ACT(BEFORE_CHANGE_MEMBER_LIST,)\
    ACT(BEFORE_FOLLOWER_CLUSTER_SYNC_SCHEMA,)\
    ACT(BEFORE_UPDATE_STANBY_FREEZE_INFO,)\
    ACT(BEFORE_PROCESS_USER_SCHEMA,)\
    ACT(BEFORE_CREATE_TENANT_TRANS_THREE,)\
    ACT(BEFORE_GEN_NEXT_SCHEMA_VERSION,)\
    ACT(BLOCK_CALC_WRS,)\
    ACT(BEFORE_UPDATE_CORE_TABLE,)\
    ACT(BEFORE_REPLAY_ADD_PARTITION_TO_PG_CLOG,)\
    ACT(BEFORE_SEND_FLASHBACK_USER_RPC,)\
    ACT(BEFORE_SEND_FLASHBACK_RPC,)\
    ACT(BEFORE_UPDATE_GLOBAL_INDEX_STATUS,)\
    ACT(BEFORE_UPDATE_LOCAL_INDEX_STATUS,)\
    ACT(FINISH_ABORT_CREATE_INDEX,)\
    ACT(BEFORE_SWITCHOVER_FROM_PENDING_TO_PRIMARY,)\
    ACT(AFTER_WRITE_USER_TABLE_CUTDATA_CLOG,)\
    ACT(BEFORE_SET_CLUSTER_NAME_CONFIGURL,)\
    ACT(AFTER_SET_CLUSTER_NAME_CONFIGURL,)\
    ACT(AFTER_REMOVE_OTHER_CLUSTER,)\
    ACT(AFTER_SET_ALL_CLUSTER_CLUSTER_NAME,)\
    ACT(AFTER_SET_ALL_ZONE_CLUSTER_NAME,)\
    ACT(SENDING_OBS_DISCONNECT_CLUSTER,)\
    ACT(AFTER_OBS_DISCONNECT_CLUSTER,)\
    ACT(AFTER_WRITE_INNER_TABLE_CUTDATA_CLOG,)\
    ACT(INNER_TABLE_IN_CUTDATA_STATUS,)\
    ACT(USER_TABLE_IN_CUTDATA_STATUS,)\
    ACT(INNER_TABLE_CUTDATA_FINISH,)\
    ACT(USER_TABLE_CUTDATA_FINISH,)\
    ACT(BEFORE_FAILOVER_FROM_PENDING_TO_FLASHBACK,)\
    ACT(BEFORE_SWITCHOVER_TO_PENDING,)\
    ACT(BEFORE_ADD_SWITCHOVER_TASK,)\
    ACT(WAIT_REFRESH_TENANT_SCHEMA_VER,)\
    ACT(BEFORE_WRITE_PARTITION_CHECK_POINT,)\
    ACT(BEFORE_UPDATE_FREEZE_SNAPSHOT_INFO,)\
    ACT(BEFORE_CREATE_PG_PARTITION,)\
    ACT(BEFORE_MERGE_FINISH,)\
    ACT(BEFORE_FREEZE_ASYNC_TASK,)\
    ACT(END_SEND_FLASHBACK_INNER_RPC,)\
    ACT(DEBUG_FAILOVER_FLASHBACK_INNER,)\
    ACT(CREATE_TABLE_BEFORE_PUBLISH_SCHEMA,)\
    ACT(BEFORE_DAILY_MERGE_RUN,)\
    ACT(AFTER_ADD_SWITCHOVER_TASK,)\
    ACT(HUNG_SWITCH_TASK_QUEUE,)\
    ACT(FETCH_MACRO_BLOCK,)\
    ACT(BEFORE_WRITE_START_WORKING,)\
    ACT(BEFORE_SYNC_LOG_SUCCESS,)\
    ACT(BEFORE_DIST_COMMIT,)\
    ACT(BLOCK_FREEZE_INFO_UPDATE,)\
    ACT(BEFROE_DO_ROOT_BACKUP,)\
    ACT(BEFROE_DO_LOG_ARCHIVE_SCHEDULER,)\
    ACT(BEFROE_DO_STOP_TENANT_ARCHIVE,)\
    ACT(WRTIE_EXTERN_LOG_ARCHIVE_BACKUP_INFO,)\
    ACT(FAILED_TO_PROCESS_TO_PRIMARY,)\
    ACT(BEFORE_REFRESH_CLUSTER_ID,)\
    ACT(BEFORE_FIX_TENANT_SCHEMA_VERSION,)\
    ACT(BACKUP_INFO_PREPARE,)\
    ACT(BACKUP_INFO_SCHEDULER,)\
    ACT(BACKUP_INFO_BEFOR_DOING,)\
    ACT(BACKUP_INFO_BEFOR_CLEANUP,)\
    ACT(BACKUP_INFO_BEFOR_NORMAL_TENNAT_STOP,)\
    ACT(BACKUP_INFO_BEFOR_SYS_TENNAT_STOP,)\
    ACT(BACKUP_TASK_BEFOR_DOING,)\
    ACT(BACKUP_TASK_BEFOR_FINISH,)\
    ACT(BEFORE_PHYSICAL_RESTORE_TENANT,)\
    ACT(BEFORE_PHYSICAL_RESTORE_SYS_REPLICA,)\
    ACT(BEFORE_PHYSICAL_RESTORE_UPGRADE_PRE,)\
    ACT(BEFORE_PHYSICAL_RESTORE_DO_UPGRADE_PRE,)\
    ACT(BEFORE_PHYSICAL_RESTORE_UPGRADE_POST,)\
    ACT(BEFORE_PHYSICAL_RESTORE_DO_UPGRADE_POST,)\
    ACT(BEFORE_PHYSICAL_RESTORE_USER_REPLICA,)\
    ACT(BEFORE_PHYSICAL_RESTORE_REPLICA,)\
    ACT(BEFORE_PHYSICAL_RESTORE_SET_MEMBER_LIST,)\
    ACT(BEFORE_PHYSICAL_RESTORE_MODIFY_SCHEMA,)\
    ACT(BEFORE_PHYSICAL_RESTORE_USER_PARTITIONS,)\
    ACT(BEFORE_PHYSICAL_RESTORE_REBUILD_INDEX,)\
    ACT(BEFORE_PHYSICAL_RESTORE_POST_CHECK,)\
    ACT(BEFORE_PHYSICAL_RESTORE_INIT_LS,)\
    ACT(BEFORE_PHYSICAL_RESTORE_WAIT_LS_FINISH,)\
    ACT(BACKUP_BEFROE_CHOOSE_SRC,)\
    ACT(BACKUP_BEFROE_BUILD_TABLE_PARTITION_INFO,)\
    ACT(HANG_UPDATE_RS_LIST,)\
    ACT(PARTITION_BACKUP_TASK_BEFORE_ADD_TASK_IN_MGR,)\
    ACT(HANG_BEFORE_RESOLVER_FINISH,)\
    ACT(AFTER_GET_MERGE_LOG_ID,)\
    ACT(FAST_MIGRATE_AFTER_MIGRATE_OUT_CREATED,)\
    ACT(FAST_MIGRATE_AFTER_SUSPEND_SRC,)\
    ACT(NOTIFY_START_ARCHIVE_SUCC,)\
    ACT(LOG_ARCHIVE_SENDER_HANDLE,)\
    ACT(LOG_ARCHIVE_PUSH_LOG,)\
    ACT(END_PROCESS_USER_SCHEMA,)\
    ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_PREPARE,)\
    ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_BEGINNING,)\
    ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_DOING,)\
    ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_SUSPENDING,)\
    ACT(BEFROE_LOG_ARCHIVE_SCHEDULE_STOPPING,)\
    ACT(AFTER_FREEZE_BEFORE_MINI_MERGE,)\
    ACT(HUNG_HEARTBEAT_CHECK,)\
    ACT(BLOCK_WEAK_READ_TIMESTAMP,)\
    ACT(REPLAY_REDO_LOG,)\
    ACT(BEFORE_RECYCLE_PHYSICAL_RESTORE_JOB,)\
    ACT(BACKUP_DELETE_STATUS_DOING,)\
    ACT(BACKUP_BEFORE_TRIGGER_FREEZE_PIECES,)\
    ACT(BACKUP_BEFORE_FROZEN_PIECES,)\
    ACT(BACKUP_DATA_SYS_CLEAN_STATUS_DOING,)\
    ACT(BACKUP_DATA_NORMAL_TENANT_CLEAN_STATUS_DOING,)\
    ACT(BACKUP_DELETE_STATUS_INIT,)\
    ACT(BACKUP_DELETE_STATUS_COMPLETED,)\
    ACT(BACKUP_DELETE_TASK_STATUS_DOING,)\
    ACT(BACKUP_DELETE_TASK_DEAL_FAILED,)\
    ACT(BACKUP_DELETE_LS_TASK_STATUS_DOING,)\
    ACT(SYNC_PG_AND_REPLAY_ENGINE_DEADLOCK,)\
    ACT(BACKUP_DATA_VALIDATE_STATUS_SCHEDULE,)\
    ACT(BACKUP_DATA_VALIDATE_STATUS_DOING,)\
    ACT(MIGRATE_BEFORE_CREATE_REPLICA_SUB,)\
    ACT(MIGRATE_AFTER_CREATE_REPLICA_SUB,)\
    ACT(MIGRATE_AFTER_CREATE_PG_LOCK_DIR,)\
    ACT(MIGRATE_AFTER_CREATE_TASK_FILE,)\
    ACT(MIGRATE_BEFORE_CREATE_MIGRATE_IN,)\
    ACT(MIGRATE_AFTER_CREATE_MIGRATE_IN,)\
    ACT(MIGRATE_BEFORE_MARK_TASK_STATUS,)\
    ACT(MIGRATE_AFTER_MARK_TASK_STATUS,)\
    ACT(MIGRATE_AFTER_DELETE_TASK_FILE,)\
    ACT(MIGRATE_AFTER_DELETE_PG_LOCK_DIR,)\
    ACT(MIGRATE_AFTER_REMOVE_REPLICA_SUB,)\
    ACT(MIGRATE_AFTER_CREATE_MIGRATE_OUT,)\
    ACT(FAST_RECOVER_BEFORE_PREPROCESS,)\
    ACT(FAST_RECOVER_AFTER_PREPROCESS,)\
    ACT(FAST_RECOVER_BEFORE_PROCESS,)\
    ACT(FAST_RECOVER_MID_PROCESS1,)\
    ACT(FAST_RECOVER_MID_PROCESS2,)\
    ACT(FAST_RECOVER_MID_PROCESS3,)\
    ACT(FAST_RECOVER_MID_PROCESS4,)\
    ACT(FAST_RECOVER_AFTER_PROCESS,)\
    ACT(FAST_RECOVER_REPLAY_CLOG,)\
    ACT(ADD_TRIGGER_BEFORE_MAP,)\
    ACT(DEL_TRIGGER_BEFORE_MAP,)\
    ACT(STANDBY_CLUSTER_PARTITION_CREATE,)\
    ACT(AFTER_PREPARE_TENANT_BEGINNING_STATUS,)\
    ACT(AFTER_PREPARE_TENANT_BACKUP_BACKUP_BEGINNING,)\
    ACT(PREPARE_TENANT_BEGINNING_STATUS,)\
    ACT(DOING_MARK_AND_SWEEP,)\
    ACT(BEFORE_ALTER_TABLE_PARTITION,)\
    ACT(BEFORE_FINISH_SET_PROTECTION_MODE,)\
    ACT(BEFORE_STANDBY_HEARTBEAT,)\
    ACT(BEFORE_UPRADE_SYSTEM_VARIABLE,)\
    ACT(BEFORE_DO_MINOR_FREEZE,)\
    ACT(BEFORE_UPDATE_RESTORE_FLAG_RESTORE_LOG,)\
    ACT(SLOW_TXN_DURING_2PC_COMMIT_PHASE_FOR_PHYSICAL_BACKUP_1055,)\
    ACT(BEFORE_DEAL_WITH_FAILED_BACKUP_BACKUPSET_TASK,)\
    ACT(BEFORE_START_BACKUP_ARCHIVELOG_TASK,)\
    ACT(SYNC_REPORT,)\
    ACT(BEFORE_STANDBY_FINISH_REPLY_SNAPSHOT_SCHEMA,)\
    ACT(MIGRATE_TASK_EXEC_POINT,)\
    ACT(BEFORE_PERSIST_MEMBER_LIST,)\
    ACT(BEFORE_SEND_SET_MEMBER_LIST_RPC,)\
    ACT(BEFORE_ALTER_TABLE_COLUMN,)\
    ACT(BEFORE_REPORT_BACKUP_BACKUPSET_TASK,)\
    ACT(BEFORE_FINISH_BACKUP_ARCHIVELOG_TASK,)\
    ACT(BEFORE_BACKUP_BACKUPSET_FINISH,)\
    ACT(BACKUP_BACKUPSET_COPYING,)\
    ACT(BEFORE_BACKUP_BACKUPPIECE_TASK_COMMIT,)\
    ACT(BEFORE_CHECK_BACKUP_TASK_DATA_AVAILABLE,)\
    ACT(BLOCK_CLOG_PRIMARY_RECONFIRM,)\
    ACT(DROP_COLUMN_NOT_STORED_IN_MINOR,)\
    ACT(DROP_COLUMN_NOT_STORED_IN_MAJOR,)\
    ACT(BEFORE_FORCE_DROP_SCHEMA,)\
    ACT(DDL_REDEFINITION_LOCK_TABLE,)\
    ACT(DDL_REDEFINITION_WAIT_TRANS_END,)\
    ACT(DDL_REDEFINITION_HOLD_SNAPSHOT,)\
    ACT(DDL_REDEFINITION_WRITE_BARRIER_LOG,)\
    ACT(BEFORE_DDL_TABLE_MERGE_TASK,)\
    ACT(TABLE_REDEFINITION_REPLICA_BUILD,)\
    ACT(TABLE_REDEFINITION_COPY_TABLE_INDEXES,)\
    ACT(TABLE_REDEFINITION_COPY_TABLE_FOREIGN_KEYS,)\
    ACT(TABLE_REDEFINITION_COPY_TABLE_CONSTRAINTS,)\
    ACT(TABLE_REDEFINITION_TAKE_EFFECT,)\
    ACT(TABLE_REDEFINITION_WRITE_BARRIER_LOG,)\
    ACT(TABLE_REDEFINITION_FAIL,)\
    ACT(TABLE_REDEFINITION_SUCCESS,)\
    ACT(COLUMN_REDEFINITION_REPLICA_BUILD,)\
    ACT(COLUMN_REDEFINITION_COPY_TABLE_INDEXES,)\
    ACT(COLUMN_REDEFINITION_COPY_TABLE_CONSTRAINTS,)\
    ACT(COLUMN_REDEFINITION_COPY_TABLE_FOREIGN_KEYS,)\
    ACT(COLUMN_REDEFINITION_TAKE_EFFECT,)\
    ACT(CREATE_INDEX_WAIT_TRANS_END,)\
    ACT(CREATE_INDEX_REPLICA_BUILD,)\
    ACT(CREATE_INDEX_VERIFY_CHECKSUM,)\
    ACT(CREATE_INDEX_TAKE_EFFECT,)\
    ACT(CREATE_INDEX_FAILED,)\
    ACT(CREATE_INDEX_SUCCESS,)\
    ACT(CONSTRAINT_WAIT_TRANS_END,)\
    ACT(CONSTRAINT_VALIDATE,)\
    ACT(CONSTRAINT_SET_VALID,)\
    ACT(CONSTRAINT_FAIL,)\
    ACT(CONSTRAINT_ROLLBACK_FAILED_CHECK_CONSTRAINT_BEFORE_ALTER_TABLE,)\
    ACT(CONSTRAINT_ROLLBACK_FAILED_FK_BEFORE_ALTER_TABLE,)\
    ACT(CONSTRAINT_BEFORE_SET_FK_VALIDATED_BEFORE_ALTER_TABLE,)\
    ACT(CONSTRAINT_BEFORE_SET_CHECK_CONSTRAINT_VALIDATED_BEFORE_ALTER_TABLE,)\
    ACT(CONSTRAINT_SUCCESS,)\
    ACT(BEFORE_PERSIST_LS_TASK,)\
    ACT(BEFORE_SEND_RESTORE_PARTITIONS_RPC,)\
    ACT(BEFORE_CREATE_USER_TENANT,)\
    ACT(BEFORE_CREATE_META_TENANT,)\
    ACT(BEFORE_CREATE_TENANT_END,)\
    ACT(BEFORE_CREATE_USER_LS,)\
    ACT(BEFORE_BACKUP_META,)\
    ACT(BEFORE_BACKUP_DATA,)\
    ACT(BEFORE_BACKUP_MAJOR_SSTABLE,)\
    ACT(BEFORE_BACKUP_BUILD_INDEX,)\
    ACT(BEFORE_BACKUP_COMPLEMENT_LOG,)\
    ACT(BEFORE_BACKUP_FINISH,)\
    ACT(BEFORE_MIGRATE_FETCH_TABLET_INFO,)\
    ACT(BEFORE_MIGRATE_FETCH_SSTABLE_MACRO_INFO,)\
    ACT(BEFORE_MIGRATE_FETCH_MACRO_BLOCK,)\
    ACT(BEFORE_ADD_BACKUP_TASK_INTO_SCHEDULER,)\
    ACT(BEFORE_MIGRATION_BUILD_TABLET_SSTABLE_INFO,)\
    ACT(BEFORE_MIGRATION_TABLET_COPY_SSTABLE,)\
    ACT(AFTER_MIGRATION_LOAD_LS_INNER_TABLET,)\
    ACT(BEFORE_MIGRATION_ENABLE_LOG,)\
    ACT(AFTER_MIGRATION_ENABLE_LOG,)\
    ACT(BEFORE_RELEASE_DDL_KV,)\
    ACT(BEFORE_DDL_CHECKPOINT,)\
    ACT(AFTER_DDL_WRITE_MACRO_BLOCK,)\
    ACT(BEFORE_REPLAY_DDL_MACRO_BLOCK,)\
    ACT(BEFORE_REPLAY_DDL_PREPRARE,)\
    ACT(BEFORE_REPLAY_DDL_COMMIT,)\
    ACT(BEFORE_BACKUP_UESR_META,)\
    ACT(BEFORE_BACKUP_SYS_TABLETS,)\
    ACT(BEFORE_WRITE_DDL_PREPARE_LOG,)\
    ACT(AFTER_REMOTE_WRITE_DDL_PREPARE_LOG,)\
    ACT(BEFORE_CHECK_ALL_LS_HAS_LEADER,)\
    ACT(BEFORE_INDEX_SSTABLE_BUILD_TASK_SEND_SQL,)\
    ACT(BEFORE_CHECK_FK_DATA_VALID_SEND_SQL,)\
    ACT(BEFORE_CHECK_CONSTRAINT_VALID_SEND_SQL,)\
    ACT(BEFORE_EXECUTE_CTAS_CLEAR_SESSION_ID,)\
    ACT(BEFORE_RESTORE_START,)\
    ACT(BEFORE_RESTORE_SYS_TABLETS,)\
    ACT(BEFORE_RESTORE_TABLETS_META,)\
    ACT(BEFORE_RESTORE_MINOR,)\
    ACT(BEFORE_DO_FLASHBACK,)\
    ACT(PREPARE_FLASHBACK_FOR_SWITCH_TO_PRIMARY,)\
    ACT(SWITCHING_TO_STANDBY,)\
    ACT(BEFORE_LS_RESTORE_SYS_TABLETS,)\
    ACT(BEFORE_WAIT_RESTORE_SYS_TABLETS,)\
    ACT(BEFORE_WAIT_RESTORE_TABLETS_META,)\
    ACT(BEFORE_WAIT_QUICK_RESTORE,)\
    ACT(BEFORE_WAIT_MAJOR_RESTORE,)\
    ACT(SWAP_ORIG_AND_HIDDEN_TABLE_BEFORE_PUBLISH_SCHEMA,)\
    ACT(BEFORE_RESTORE_MAJOR,)\
    ACT(BEFORE_UPDATE_RECOVERY_UNTIL_SCN,)\
    ACT(BEFORE_ARCHIVE_FETCH_LOG,)\
    ACT(WHILE_LEADER_RESTORE_GROUP_TABLET,)\
    ACT(AFTER_DATA_TABLETS_MIGRATION,)\
    ACT(MERGE_PARTITION_FINISH_TASK,)\
    ACT(RS_VALIDATE_CHECKSUM,)\
    ACT(HA_REPORT_META_TABLE,)\
    ACT(AFTER_CHANGE_MIGRATION_STATUS_HOLD,)\
    ACT(AFTER_CREATE_META_TENANT_SYS_LOGSTREAM,)\
    ACT(AFTER_CREATE_USER_TENANT_SYS_LOGSTREAM,)\
    ACT(AFTER_SCHEDULE_RESTORE_MINOR_DAG_NET,)\
    ACT(BEFORE_WAIT_RESTORE_TENANT_FINISH,)\
    ACT(BEFORE_SEND_DRTASK_RPC,)\
    ACT(BEFORE_SEND_MIGRATE_REPLICA_DRTASK,)\
    ACT(BEFORE_RS_DEAL_WITH_RPC,)\
    ACT(BEFORE_DELETE_DRTASK_FROM_INNER_TABLE,)\
    ACT(BEFORE_FINISH_LOCALITY,)\
    ACT(BEFORE_TRY_MIGRATE_UNIT,)\
    ACT(BEFORE_TRY_DISASTER_RECOVERY,)\
    ACT(BEFORE_TRY_LOCALITY_ALIGNMENT,)\
    ACT(BEFORE_TABLET_MIGRATION_GENERATE_NEXT_DAG,)\
    ACT(BEFORE_TABLET_GROUP_MIGRATION_GENERATE_NEXT_DAG,)\
    ACT(BEFORE_BACKUP_TASK_FINISH,)\
    ACT(BEFORE_UPDATE_LS_META_TABLE,)\
    ACT(BLOCK_TENANT_SYNC_SNAPSHOT_INC,)\
    ACT(AFTER_FLASHBACK_CLOG,)\
    ACT(BEFORE_LOAD_ARCHIVE_ROUND,)\
    ACT(BEFORE_MIG_DDL_TABLE_MERGE_TASK,)\
    ACT(BEFORE_COPY_DDL_SSTABLE,)\
    ACT(BEFORE_DDL_WRITE_PREPARE_LOG,)\
    ACT(AFTER_BACKUP_FETCH_MACRO_BLOCK_FAILED,)\
    ACT(BEFORE_TABLE_REDEFINITION_TASK_EFFECT,)\
    ACT(ALTER_LS_CHOOSE_SRC,)\
    ACT(BEFORE_LOCK_SERVICE_UNLOCK,)\
    ACT(DDL_CHECK_TABLET_MERGE_STATUS,)\
    ACT(BEFORE_FOREIGN_KEY_CONSTRAINT_CHECK,)\
    ACT(MODIFY_HIDDEN_TABLE_NOT_NULL_COLUMN_STATE_BEFORE_PUBLISH_SCHEMA,)\
    ACT(AFTER_MIGRATION_FETCH_TABLET_INFO,)\
    ACT(BEFORE_EXECUTE_ARB_REPLICA_TASK,)\
    ACT(ARCHIVE_SENDER_HANDLE_TASK_DONE,)\
    ACT(BEFORE_SET_LS_MEMBER_LIST,)\
    ACT(BEFORE_MIGRATION_FETCH_TABLET_INFO,)\
    ACT(BEFORE_BUILD_TABLET_GROUP_INFO,)\
    ACT(BEFORE_RESTORE_SERVICE_PUSH_FETCH_DATA,)\
    ACT(AFTER_MIGRATION_REPORT_LS_META_TABLE,)\
    ACT(BEFORE_RESTORE_HANDLE_FETCH_LOG_TASK,)\
    ACT(BEFORE_DATA_TABLETS_MIGRATION_TASK,)\
    ACT(AFTER_LS_GC_DELETE_ALL_TABLETS,)\
    ACT(BEFORE_ARCHIVE_ADD_LS_TASK,)\
    ACT(MAX_DEBUG_SYNC_POINT,)

DECLARE_ENUM(ObDebugSyncPoint, debug_sync_point, OB_DEBUG_SYNC_POINT_DEF);

} // end namespace common
} // end namespace oceanbase

#endif // OCEANBASE_COMMON_OB_DEBUG_SYNC_POINT_H_
